/*
#include <math.h>
#include <algorithm>
#include <string>
#include <map>
#include <set>
#include <vector>
#include <iostream>
#include <sstream>
using namespace std;
void generate(int leftNum,int rightNum,string s,vector<string> &result)  
{  
	if(leftNum==0&&rightNum==0)  
	{  
		result.push_back(s);  
	}  
	if(leftNum>0)  
	{  
		generate(leftNum-1,rightNum,s+'(',result);  
	}  
	if(rightNum>0&&leftNum<rightNum)  
	{  
		generate(leftNum,rightNum-1,s+')',result);  
	}  
} 

int main(){

	int a[]={14,5,67,0,-1,0,-2,2};
	vector<int>v1(a,a+sizeof(a)/sizeof(int));
	vector<int>v2;
	vector<string> result;
	generate(2,2,"",result);
	
	for(int i=0;i<result.size();i++)
		cout<<result[i]<<endl;

	system("pause");
	return 0;
}

*/